{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a3d37f1f692c5f41",
   "metadata": {},
   "outputs": [],
   "source": [
    "import wordID"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "initial_id",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-10-30T14:42:03.498495Z",
     "start_time": "2024-10-30T14:42:03.472573Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "当前文件路径:D:/01l/work/code/python/002py/wordID.py\n",
      "外层循环 第1行  内容:'# -*- coding:utf-8 -*-\\n'\n",
      "这一行是注释 种别码:9 内容:'# -*- coding:utf-8 -*-\\n' 当前共有0条注释\n",
      "外层循环 第2行  内容:'import tkinter as tk\\n'\n",
      "外层循环 第3行  内容:'from operator import index\\n'\n",
      "外层循环 第4行  内容:'from tkinter import filedialog\\n'\n",
      "外层循环 第5行  内容:'\\n'\n",
      "外层循环 第6行  内容:'from boltons.iterutils import lstrip\\n'\n",
      "外层循环 第7行  内容:'from sqlalchemy.dialects.mssql.base import RESERVED_WORDS\\n'\n",
      "外层循环 第8行  内容:'\\n'\n",
      "外层循环 第9行  内容:'import wordID\\n'\n",
      "外层循环 第10行  内容:'\\n'\n",
      "外层循环 第11行  内容:'# 定义单词种类\\n'\n",
      "这一行是注释 种别码:9 内容:'# 定义单词种类\\n' 当前共有1条注释\n",
      "外层循环 第3行  内容:'from operator import index\\n'\n",
      "外层循环 第4行  内容:'from tkinter import filedialog\\n'\n",
      "外层循环 第5行  内容:'\\n'\n",
      "外层循环 第6行  内容:'from boltons.iterutils import lstrip\\n'\n",
      "外层循环 第7行  内容:'from sqlalchemy.dialects.mssql.base import RESERVED_WORDS\\n'\n",
      "外层循环 第8行  内容:'\\n'\n",
      "外层循环 第9行  内容:'import wordID\\n'\n",
      "外层循环 第10行  内容:'\\n'\n",
      "外层循环 第11行  内容:'# 定义单词种类\\n'\n",
      "这一行是注释 种别码:9 内容:'# 定义单词种类\\n' 当前共有2条注释\n",
      "外层循环 第4行  内容:'from tkinter import filedialog\\n'\n",
      "外层循环 第5行  内容:'\\n'\n",
      "外层循环 第6行  内容:'from boltons.iterutils import lstrip\\n'\n",
      "外层循环 第7行  内容:'from sqlalchemy.dialects.mssql.base import RESERVED_WORDS\\n'\n",
      "外层循环 第8行  内容:'\\n'\n",
      "外层循环 第9行  内容:'import wordID\\n'\n",
      "外层循环 第10行  内容:'\\n'\n",
      "外层循环 第11行  内容:'# 定义单词种类\\n'\n",
      "这一行是注释 种别码:9 内容:'# 定义单词种类\\n' 当前共有3条注释\n",
      "外层循环 第5行  内容:'\\n'\n",
      "外层循环 第6行  内容:'from boltons.iterutils import lstrip\\n'\n",
      "外层循环 第7行  内容:'from sqlalchemy.dialects.mssql.base import RESERVED_WORDS\\n'\n",
      "外层循环 第8行  内容:'\\n'\n",
      "外层循环 第9行  内容:'import wordID\\n'\n",
      "外层循环 第10行  内容:'\\n'\n",
      "外层循环 第11行  内容:'# 定义单词种类\\n'\n",
      "这一行是注释 种别码:9 内容:'# 定义单词种类\\n' 当前共有4条注释\n",
      "外层循环 第6行  内容:'from boltons.iterutils import lstrip\\n'\n",
      "外层循环 第7行  内容:'from sqlalchemy.dialects.mssql.base import RESERVED_WORDS\\n'\n",
      "外层循环 第8行  内容:'\\n'\n",
      "外层循环 第9行  内容:'import wordID\\n'\n",
      "外层循环 第10行  内容:'\\n'\n",
      "外层循环 第11行  内容:'# 定义单词种类\\n'\n",
      "这一行是注释 种别码:9 内容:'# 定义单词种类\\n' 当前共有5条注释\n",
      "外层循环 第7行  内容:'from sqlalchemy.dialects.mssql.base import RESERVED_WORDS\\n'\n",
      "外层循环 第8行  内容:'\\n'\n",
      "外层循环 第9行  内容:'import wordID\\n'\n",
      "外层循环 第10行  内容:'\\n'\n",
      "外层循环 第11行  内容:'# 定义单词种类\\n'\n",
      "这一行是注释 种别码:9 内容:'# 定义单词种类\\n' 当前共有6条注释\n",
      "外层循环 第8行  内容:'\\n'\n",
      "外层循环 第9行  内容:'import wordID\\n'\n",
      "外层循环 第10行  内容:'\\n'\n",
      "外层循环 第11行  内容:'# 定义单词种类\\n'\n",
      "这一行是注释 种别码:9 内容:'# 定义单词种类\\n' 当前共有7条注释\n",
      "外层循环 第9行  内容:'import wordID\\n'\n",
      "外层循环 第10行  内容:'\\n'\n",
      "外层循环 第11行  内容:'# 定义单词种类\\n'\n",
      "这一行是注释 种别码:9 内容:'# 定义单词种类\\n' 当前共有8条注释\n",
      "外层循环 第10行  内容:'\\n'\n",
      "外层循环 第11行  内容:'# 定义单词种类\\n'\n",
      "这一行是注释 种别码:9 内容:'# 定义单词种类\\n' 当前共有9条注释\n",
      "外层循环 第11行  内容:'# 定义单词种类\\n'\n",
      "这一行是注释 种别码:9 内容:'# 定义单词种类\\n' 当前共有10条注释\n",
      "外层循环 第12行  内容:'word_type = (\"keyword\",     # 关键字\\n'\n",
      "外层循环 第13行  内容:'             \"identifier\",  # 标识符\\n'\n",
      "外层循环 第14行  内容:'             \"unsigned\",    # 无符号整数\\n'\n",
      "外层循环 第15行  内容:'             \"operator\",    # 运算符\\n'\n",
      "外层循环 第16行  内容:'             \"delimiter\",   # 分隔符\\n'\n",
      "外层循环 第17行  内容:'             \"escape\",      # 转义字符\\n'\n",
      "外层循环 第18行  内容:'             \"unknown\",     # 其他字符\\n'\n",
      "外层循环 第19行  内容:'             \"start\",       # 默认开始状态\\n'\n",
      "外层循环 第20行  内容:'             \"comment\",     # 注释\\n'\n",
      "外层循环 第21行  内容:'             )\\n'\n",
      "外层循环 第22行  内容:'# 创建单词种类字典<种类:识别码>\\n'\n",
      "这一行是注释 种别码:9 内容:'# 创建单词种类字典<种类:识别码>\\n' 当前共有11条注释\n",
      "外层循环 第13行  内容:'             \"identifier\",  # 标识符\\n'\n",
      "外层循环 第14行  内容:'             \"unsigned\",    # 无符号整数\\n'\n",
      "外层循环 第15行  内容:'             \"operator\",    # 运算符\\n'\n",
      "外层循环 第16行  内容:'             \"delimiter\",   # 分隔符\\n'\n",
      "外层循环 第17行  内容:'             \"escape\",      # 转义字符\\n'\n",
      "外层循环 第18行  内容:'             \"unknown\",     # 其他字符\\n'\n",
      "外层循环 第19行  内容:'             \"start\",       # 默认开始状态\\n'\n",
      "外层循环 第20行  内容:'             \"comment\",     # 注释\\n'\n",
      "外层循环 第21行  内容:'             )\\n'\n",
      "外层循环 第22行  内容:'# 创建单词种类字典<种类:识别码>\\n'\n",
      "这一行是注释 种别码:9 内容:'# 创建单词种类字典<种类:识别码>\\n' 当前共有12条注释\n",
      "外层循环 第14行  内容:'             \"unsigned\",    # 无符号整数\\n'\n",
      "外层循环 第15行  内容:'             \"operator\",    # 运算符\\n'\n",
      "外层循环 第16行  内容:'             \"delimiter\",   # 分隔符\\n'\n",
      "外层循环 第17行  内容:'             \"escape\",      # 转义字符\\n'\n",
      "外层循环 第18行  内容:'             \"unknown\",     # 其他字符\\n'\n",
      "外层循环 第19行  内容:'             \"start\",       # 默认开始状态\\n'\n",
      "外层循环 第20行  内容:'             \"comment\",     # 注释\\n'\n",
      "外层循环 第21行  内容:'             )\\n'\n",
      "外层循环 第22行  内容:'# 创建单词种类字典<种类:识别码>\\n'\n",
      "这一行是注释 种别码:9 内容:'# 创建单词种类字典<种类:识别码>\\n' 当前共有13条注释\n",
      "外层循环 第15行  内容:'             \"operator\",    # 运算符\\n'\n",
      "外层循环 第16行  内容:'             \"delimiter\",   # 分隔符\\n'\n",
      "外层循环 第17行  内容:'             \"escape\",      # 转义字符\\n'\n",
      "外层循环 第18行  内容:'             \"unknown\",     # 其他字符\\n'\n",
      "外层循环 第19行  内容:'             \"start\",       # 默认开始状态\\n'\n",
      "外层循环 第20行  内容:'             \"comment\",     # 注释\\n'\n",
      "外层循环 第21行  内容:'             )\\n'\n",
      "外层循环 第22行  内容:'# 创建单词种类字典<种类:识别码>\\n'\n",
      "这一行是注释 种别码:9 内容:'# 创建单词种类字典<种类:识别码>\\n' 当前共有14条注释\n",
      "外层循环 第16行  内容:'             \"delimiter\",   # 分隔符\\n'\n",
      "外层循环 第17行  内容:'             \"escape\",      # 转义字符\\n'\n",
      "外层循环 第18行  内容:'             \"unknown\",     # 其他字符\\n'\n",
      "外层循环 第19行  内容:'             \"start\",       # 默认开始状态\\n'\n",
      "外层循环 第20行  内容:'             \"comment\",     # 注释\\n'\n",
      "外层循环 第21行  内容:'             )\\n'\n",
      "外层循环 第22行  内容:'# 创建单词种类字典<种类:识别码>\\n'\n",
      "这一行是注释 种别码:9 内容:'# 创建单词种类字典<种类:识别码>\\n' 当前共有15条注释\n",
      "外层循环 第17行  内容:'             \"escape\",      # 转义字符\\n'\n",
      "外层循环 第18行  内容:'             \"unknown\",     # 其他字符\\n'\n",
      "外层循环 第19行  内容:'             \"start\",       # 默认开始状态\\n'\n",
      "外层循环 第20行  内容:'             \"comment\",     # 注释\\n'\n",
      "外层循环 第21行  内容:'             )\\n'\n",
      "外层循环 第22行  内容:'# 创建单词种类字典<种类:识别码>\\n'\n",
      "这一行是注释 种别码:9 内容:'# 创建单词种类字典<种类:识别码>\\n' 当前共有16条注释\n",
      "外层循环 第18行  内容:'             \"unknown\",     # 其他字符\\n'\n",
      "外层循环 第19行  内容:'             \"start\",       # 默认开始状态\\n'\n",
      "外层循环 第20行  内容:'             \"comment\",     # 注释\\n'\n",
      "外层循环 第21行  内容:'             )\\n'\n",
      "外层循环 第22行  内容:'# 创建单词种类字典<种类:识别码>\\n'\n",
      "这一行是注释 种别码:9 内容:'# 创建单词种类字典<种类:识别码>\\n' 当前共有17条注释\n",
      "外层循环 第19行  内容:'             \"start\",       # 默认开始状态\\n'\n",
      "外层循环 第20行  内容:'             \"comment\",     # 注释\\n'\n",
      "外层循环 第21行  内容:'             )\\n'\n",
      "外层循环 第22行  内容:'# 创建单词种类字典<种类:识别码>\\n'\n",
      "这一行是注释 种别码:9 内容:'# 创建单词种类字典<种类:识别码>\\n' 当前共有18条注释\n",
      "外层循环 第20行  内容:'             \"comment\",     # 注释\\n'\n",
      "外层循环 第21行  内容:'             )\\n'\n",
      "外层循环 第22行  内容:'# 创建单词种类字典<种类:识别码>\\n'\n",
      "这一行是注释 种别码:9 内容:'# 创建单词种类字典<种类:识别码>\\n' 当前共有19条注释\n",
      "外层循环 第21行  内容:'             )\\n'\n",
      "外层循环 第22行  内容:'# 创建单词种类字典<种类:识别码>\\n'\n",
      "这一行是注释 种别码:9 内容:'# 创建单词种类字典<种类:识别码>\\n' 当前共有20条注释\n",
      "外层循环 第22行  内容:'# 创建单词种类字典<种类:识别码>\\n'\n",
      "这一行是注释 种别码:9 内容:'# 创建单词种类字典<种类:识别码>\\n' 当前共有21条注释\n",
      "外层循环 第23行  内容:'tmp_dict = {}\\n'\n",
      "外层循环 第24行  内容:'for item in range(len(word_type)):\\n'\n",
      "外层循环 第25行  内容:'    tmp_dict[word_type[item]] = item+1\\n'\n",
      "外层循环 第26行  内容:'# print(tmp_dict)\\n'\n",
      "这一行是注释 种别码:9 内容:'# print(tmp_dict)\\n' 当前共有22条注释\n",
      "外层循环 第24行  内容:'for item in range(len(word_type)):\\n'\n",
      "外层循环 第25行  内容:'    tmp_dict[word_type[item]] = item+1\\n'\n",
      "外层循环 第26行  内容:'# print(tmp_dict)\\n'\n",
      "这一行是注释 种别码:9 内容:'# print(tmp_dict)\\n' 当前共有23条注释\n",
      "外层循环 第25行  内容:'    tmp_dict[word_type[item]] = item+1\\n'\n",
      "外层循环 第26行  内容:'# print(tmp_dict)\\n'\n",
      "这一行是注释 种别码:9 内容:'# print(tmp_dict)\\n' 当前共有24条注释\n",
      "外层循环 第26行  内容:'# print(tmp_dict)\\n'\n",
      "这一行是注释 种别码:9 内容:'# print(tmp_dict)\\n' 当前共有25条注释\n",
      "外层循环 第27行  内容:'word_type = tmp_dict\\n'\n",
      "外层循环 第28行  内容:'# 注释\\n'\n",
      "这一行是注释 种别码:9 内容:'# 注释\\n' 当前共有26条注释\n",
      "外层循环 第28行  内容:'# 注释\\n'\n",
      "这一行是注释 种别码:9 内容:'# 注释\\n' 当前共有27条注释\n",
      "外层循环 第29行  内容:'comment = 0\\n'\n",
      "外层循环 第30行  内容:'# 行号\\n'\n",
      "这一行是注释 种别码:9 内容:'# 行号\\n' 当前共有28条注释\n",
      "外层循环 第30行  内容:'# 行号\\n'\n",
      "这一行是注释 种别码:9 内容:'# 行号\\n' 当前共有29条注释\n",
      "外层循环 第31行  内容:'line_index = 0\\n'\n",
      "外层循环 第32行  内容:'# 单词状态\\n'\n",
      "这一行是注释 种别码:9 内容:'# 单词状态\\n' 当前共有30条注释\n",
      "外层循环 第32行  内容:'# 单词状态\\n'\n",
      "这一行是注释 种别码:9 内容:'# 单词状态\\n' 当前共有31条注释\n",
      "外层循环 第33行  内容:'word_type_status = wordID.word_type[\"start\"]\\n'\n",
      "外层循环 第34行  内容:'\\n'\n",
      "外层循环 第35行  内容:'# 打开需要编译的py文件\\n'\n",
      "这一行是注释 种别码:9 内容:'# 打开需要编译的py文件\\n' 当前共有32条注释\n",
      "外层循环 第34行  内容:'\\n'\n",
      "外层循环 第35行  内容:'# 打开需要编译的py文件\\n'\n",
      "这一行是注释 种别码:9 内容:'# 打开需要编译的py文件\\n' 当前共有33条注释\n",
      "外层循环 第35行  内容:'# 打开需要编译的py文件\\n'\n",
      "这一行是注释 种别码:9 内容:'# 打开需要编译的py文件\\n' 当前共有34条注释\n",
      "外层循环 第36行  内容:'def open_file():\\n'\n",
      "外层循环 第37行  内容:'    # file = filedialog.askopenfilename(title=\"选择py文件\",\\n'\n",
      "外层循环 第38行  内容:'    #                                   filetypes=[(\"py文件\",\"*.py\")])\\n'\n",
      "外层循环 第39行  内容:'    file = \"D:/01l/work/code/python/002py/wordID.py\"\\n'\n",
      "外层循环 第40行  内容:'    if file:\\n'\n",
      "外层循环 第41行  内容:'        print(f\"当前文件路径:{file}\")\\n'\n",
      "外层循环 第42行  内容:'        with open(file, \"r\", encoding=\"utf-8\") as f:\\n'\n",
      "外层循环 第43行  内容:'            text_lines = f.readlines()  # 使用repr显示原始字符串\\n'\n",
      "外层循环 第44行  内容:'            # text = type(text)\\n'\n",
      "外层循环 第45行  内容:'            return text_lines\\n'\n",
      "外层循环 第46行  内容:'    else:\\n'\n",
      "外层循环 第47行  内容:'        return 404\\n'\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有35条注释\n",
      "外层循环 第37行  内容:'    # file = filedialog.askopenfilename(title=\"选择py文件\",\\n'\n",
      "外层循环 第38行  内容:'    #                                   filetypes=[(\"py文件\",\"*.py\")])\\n'\n",
      "外层循环 第39行  内容:'    file = \"D:/01l/work/code/python/002py/wordID.py\"\\n'\n",
      "外层循环 第40行  内容:'    if file:\\n'\n",
      "外层循环 第41行  内容:'        print(f\"当前文件路径:{file}\")\\n'\n",
      "外层循环 第42行  内容:'        with open(file, \"r\", encoding=\"utf-8\") as f:\\n'\n",
      "外层循环 第43行  内容:'            text_lines = f.readlines()  # 使用repr显示原始字符串\\n'\n",
      "外层循环 第44行  内容:'            # text = type(text)\\n'\n",
      "外层循环 第45行  内容:'            return text_lines\\n'\n",
      "外层循环 第46行  内容:'    else:\\n'\n",
      "外层循环 第47行  内容:'        return 404\\n'\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有36条注释\n",
      "外层循环 第38行  内容:'    #                                   filetypes=[(\"py文件\",\"*.py\")])\\n'\n",
      "外层循环 第39行  内容:'    file = \"D:/01l/work/code/python/002py/wordID.py\"\\n'\n",
      "外层循环 第40行  内容:'    if file:\\n'\n",
      "外层循环 第41行  内容:'        print(f\"当前文件路径:{file}\")\\n'\n",
      "外层循环 第42行  内容:'        with open(file, \"r\", encoding=\"utf-8\") as f:\\n'\n",
      "外层循环 第43行  内容:'            text_lines = f.readlines()  # 使用repr显示原始字符串\\n'\n",
      "外层循环 第44行  内容:'            # text = type(text)\\n'\n",
      "外层循环 第45行  内容:'            return text_lines\\n'\n",
      "外层循环 第46行  内容:'    else:\\n'\n",
      "外层循环 第47行  内容:'        return 404\\n'\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有37条注释\n",
      "外层循环 第39行  内容:'    file = \"D:/01l/work/code/python/002py/wordID.py\"\\n'\n",
      "外层循环 第40行  内容:'    if file:\\n'\n",
      "外层循环 第41行  内容:'        print(f\"当前文件路径:{file}\")\\n'\n",
      "外层循环 第42行  内容:'        with open(file, \"r\", encoding=\"utf-8\") as f:\\n'\n",
      "外层循环 第43行  内容:'            text_lines = f.readlines()  # 使用repr显示原始字符串\\n'\n",
      "外层循环 第44行  内容:'            # text = type(text)\\n'\n",
      "外层循环 第45行  内容:'            return text_lines\\n'\n",
      "外层循环 第46行  内容:'    else:\\n'\n",
      "外层循环 第47行  内容:'        return 404\\n'\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有38条注释\n",
      "外层循环 第40行  内容:'    if file:\\n'\n",
      "外层循环 第41行  内容:'        print(f\"当前文件路径:{file}\")\\n'\n",
      "外层循环 第42行  内容:'        with open(file, \"r\", encoding=\"utf-8\") as f:\\n'\n",
      "外层循环 第43行  内容:'            text_lines = f.readlines()  # 使用repr显示原始字符串\\n'\n",
      "外层循环 第44行  内容:'            # text = type(text)\\n'\n",
      "外层循环 第45行  内容:'            return text_lines\\n'\n",
      "外层循环 第46行  内容:'    else:\\n'\n",
      "外层循环 第47行  内容:'        return 404\\n'\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有39条注释\n",
      "外层循环 第41行  内容:'        print(f\"当前文件路径:{file}\")\\n'\n",
      "外层循环 第42行  内容:'        with open(file, \"r\", encoding=\"utf-8\") as f:\\n'\n",
      "外层循环 第43行  内容:'            text_lines = f.readlines()  # 使用repr显示原始字符串\\n'\n",
      "外层循环 第44行  内容:'            # text = type(text)\\n'\n",
      "外层循环 第45行  内容:'            return text_lines\\n'\n",
      "外层循环 第46行  内容:'    else:\\n'\n",
      "外层循环 第47行  内容:'        return 404\\n'\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有40条注释\n",
      "外层循环 第42行  内容:'        with open(file, \"r\", encoding=\"utf-8\") as f:\\n'\n",
      "外层循环 第43行  内容:'            text_lines = f.readlines()  # 使用repr显示原始字符串\\n'\n",
      "外层循环 第44行  内容:'            # text = type(text)\\n'\n",
      "外层循环 第45行  内容:'            return text_lines\\n'\n",
      "外层循环 第46行  内容:'    else:\\n'\n",
      "外层循环 第47行  内容:'        return 404\\n'\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有41条注释\n",
      "外层循环 第43行  内容:'            text_lines = f.readlines()  # 使用repr显示原始字符串\\n'\n",
      "外层循环 第44行  内容:'            # text = type(text)\\n'\n",
      "外层循环 第45行  内容:'            return text_lines\\n'\n",
      "外层循环 第46行  内容:'    else:\\n'\n",
      "外层循环 第47行  内容:'        return 404\\n'\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有42条注释\n",
      "外层循环 第44行  内容:'            # text = type(text)\\n'\n",
      "外层循环 第45行  内容:'            return text_lines\\n'\n",
      "外层循环 第46行  内容:'    else:\\n'\n",
      "外层循环 第47行  内容:'        return 404\\n'\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有43条注释\n",
      "外层循环 第45行  内容:'            return text_lines\\n'\n",
      "外层循环 第46行  内容:'    else:\\n'\n",
      "外层循环 第47行  内容:'        return 404\\n'\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有44条注释\n",
      "外层循环 第46行  内容:'    else:\\n'\n",
      "外层循环 第47行  内容:'        return 404\\n'\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有45条注释\n",
      "外层循环 第47行  内容:'        return 404\\n'\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有46条注释\n",
      "外层循环 第48行  内容:'\\n'\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有47条注释\n",
      "外层循环 第49行  内容:'\\n'\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有48条注释\n",
      "外层循环 第50行  内容:'# 匹配程序\\n'\n",
      "这一行是注释 种别码:9 内容:'# 匹配程序\\n' 当前共有49条注释\n",
      "外层循环 第51行  内容:'def match_word(text_lines, char_start=0, line_start=0):\\n'\n",
      "外层循环 第52行  内容:'    # print(f\"当前文件行数:{len(text_lines)}\")\\n'\n",
      "外层循环 第53行  内容:'    for line in range(line_start, len(text_lines)):\\n'\n",
      "外层循环 第54行  内容:'        # 正在扫描的行号\\n'\n",
      "外层循环 第55行  内容:'        wordID.line_index+=1\\n'\n",
      "外层循环 第56行  内容:'        print(f\"外层循环 第{wordID.line_index}行  内容:{repr(text_lines[line])}\")\\n'\n",
      "外层循环 第57行  内容:'        # print(f\"匹配到字符:{char_index[char_index]} \"\\n'\n",
      "外层循环 第58行  内容:'        #       f\"前面的字符是{char_index[char_index-16:char_index+2]}\")\\n'\n",
      "外层循环 第59行  内容:'        # 开始匹配\\n'\n",
      "外层循环 第60行  内容:'        # 如果去除空格首行字符是 # 这说明这一行是一整行注释\\n'\n",
      "外层循环 第61行  内容:\"        if lstrip(text_lines[line])[0]== '#':\\n\"\n",
      "外层循环 第62行  内容:'            word_type_status = wordID.word_type[\"comment\"]\\n'\n",
      "外层循环 第63行  内容:'            print(f\"这一行是注释 种别码:{word_type_status} 内容:{repr(text_lines[line])} \"\\n'\n",
      "外层循环 第64行  内容:'                  f\"当前共有{wordID.comment}条注释\")\\n'\n",
      "外层循环 第65行  内容:'            wordID.comment+=1\\n'\n",
      "外层循环 第66行  内容:'            #这一行结束,直接从下一行开始\\n'\n",
      "外层循环 第67行  内容:'            line_start+=1\\n'\n",
      "外层循环 第68行  内容:'            wordID.line_index = line_start #用于输出日志中的行数\\n'\n",
      "外层循环 第69行  内容:'            wordID.word_type_status = wordID.word_type[\"start\"]\\n'\n",
      "外层循环 第70行  内容:'            return match_word(text_lines, char_start, line_start)\\n'\n",
      "外层循环 第71行  内容:'        # 不是注释\\n'\n",
      "外层循环 第72行  内容:'        # 开始进行行内遍历\\n'\n",
      "外层循环 第73行  内容:'        # for char_index in range(char_start, len(text_lines[line])):\\n'\n",
      "外层循环 第74行  内容:'        #     print(\"行内测试\")\\n'\n",
      "外层循环 第75行  内容:'    # 运行完成后之后重置\\n'\n",
      "外层循环 第76行  内容:'    wordID.line_index = 0\\n'\n",
      "外层循环 第77行  内容:'    wordID.comment = 0\\n'\n",
      "外层循环 第78行  内容:'    wordID.word_type_status = wordID.word_type[\"start\"]'\n"
     ]
    }
   ],
   "source": [
    "pycode = wordID.open_file()\n",
    "# print(pycode)\n",
    "wordID.match_word(pycode)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c58e361e1d0d58f3",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b354b480-83e0-422f-afcf-7bf57c0b3861",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
